'use strict';

/**
 * 用户表种子数据
 */
const crypto = require('crypto');

// MD5加密函数
function md5Hash(str) {
  return crypto.createHash('md5').update(str).digest('hex');
}

module.exports = {
  up: async (queryInterface, Sequelize) => {
    // 先清空表中的数据
    await queryInterface.bulkDelete('users', null, {});
    // 然后插入新数据
    await queryInterface.bulkInsert('users', [
      {
        id: 1,
        username: 'admin',
        password: md5Hash('Admin123'), // 使用MD5加密密码
        email: 'admin@example.com',
        nickname: '管理员',
        avatar: 'https://via.placeholder.com/150',
        status: 1,
        role: 'admin',
        login_attempts: 0,
        created_at: new Date(),
        updated_at: new Date()
      },
      {
        id: 2,
        username: 'demo_user',
        password: md5Hash('Demo123'), // 使用MD5加密密码
        email: 'user@example.com',
        nickname: '演示用户',
        avatar: 'https://via.placeholder.com/150',
        status: 1,
        role: 'user',
        login_attempts: 0,
        created_at: new Date(),
        updated_at: new Date()
      },
      {
        id: 3,
        username: 'content_creator',
        password: md5Hash('Creator123'), // 使用MD5加密密码
        email: 'creator@example.com',
        nickname: '内容创作者',
        avatar: 'https://via.placeholder.com/150',
        status: 1,
        role: 'user',
        login_attempts: 0,
        created_at: new Date(),
        updated_at: new Date()
      }
    ], {});
  },

  down: async (queryInterface, Sequelize) => {
    await queryInterface.bulkDelete('users', null, {});
  }
};